本章中，我们学习了图，以及如何在DPC++中构建、调度和执行图。详细介绍了什么是命令组，它的作用是什么。讨论了命令组中可以包含的三种内容:依赖关系、操作和主机代码。回顾了如何使用事件，以及通过访问器描述的数据依赖来指定任务之间的依赖关系。了解到命令组中的单个操作可以是内核操作，也可以是显式内存操作，然后看了几个示例，展示了构建执行图的不同方法。接下来，回顾了数据移动是如何成为DPC++图的重要部分，并了解了数据移动如何显式或隐式地出现在图中。最后，了解了与主机同步执行图的所有方法。\par

理解程序流程可使我们理解在运行失败时，打印的调试信息。第13章“调试运行时失败”一节中有一个表，根据我们在本书中所获得的知识，这个表会更有意义一些。然而，本书并不打算详细讨论这些编译器的高级信息。\par

希望了解完这章，可以让您觉得自己是一个执行图专家，可以构建复杂的图，从线性链到具有数百个节点、复杂数据和任务依赖的巨大执行图!下一章中，我们将开始深入研究在特定设备上改进应用程序性能的底层细节。\par


\newpage







